// 地图瓦片枚举
export enum TILE_TYPE_ENUM {
    WALL_ROW = 'WALL_ROW',
    WALL_COLUMN = 'WALL_COLUMN',
    WALL_LEFT_TOP = 'WALL_LEFT_TOP',
    WALL_RIGHT_TOP = 'WALL_RIGHT_TOP',
    WALL_LEFT_BOTTOM = 'WALL_LEFT_BOTTOM',
    WALL_RIGHT_BOTTOM = 'WALL_RIGHT_BOTTOM',
    CLIFF_LEFT = 'CLIFF_ROW_START',
    CLIFF_CENTER = 'CLIFF_ROW_CENTER',
    CLIFF_RIGHT = 'CLIFF_ROW_END',
    FLOOR = 'FLOOR',
}

// 事件类型
export enum EVENT_ENUM {
    NEXT_LEVEL = 'NEXT_LEVEL',
    PLAYER_CTRL = 'PLAYER_CTRL',
    PLAYER_MOVE_END = 'PLAYER_MOVE_END',
    PLAYER_BORN = 'PLAYER_BORN',
    ATTACK_PLAYER = 'ATTACK_PLAYER', // 玩家被攻击
    ATTACK_ENEMY = 'ATTACK_ENEMY', // 敌人被攻击
    DOOR_OPEN = 'DOOR_OPEN', // 开门
    SHOW_SMOKE = 'SHOW_SMOKE', // 人物行走之后的烟雾
    SCREEN_SHAKE = 'SCREEN_SHAKE', // 屏幕震动
    RECORD_STEP = 'RECORD_STEP', // 记录游戏步骤
    REVOKE_STEP = 'REVOKE_STEP', // 撤回游戏步骤
    RESTART_LEVEL = 'RESTART_LEVEL', // 重启关卡
    OUT_BATTLE = 'OUT_BATTLE', // 退出战斗
}

// 控制按钮
export enum CONTROLLER_ENUM {
    TOP = 'TOP',
    BOTTOM = 'BOTTOM',
    LEFT = 'LEFT',
    RIGHT = 'RIGHT',
    TURN_LEFT = 'TURN_LEFT',
    TURN_RIGHT = 'TURN_RIGHT',
}

// 有限状态机参数类型枚举
export enum FSM_PARAMS_TYPE_ENUM {
    NUMBER = 'NUMBER',
    TRIGGER = 'TRIGGER',
}

export enum PARAMS_NAME_ENUM {
    IDLE = 'IDLE',
    TURN_LEFT = 'TURN_LEFT',
    TURN_RIGHT = 'TURN_RIGHT',
    BLOCKFRONT = 'BLOCKFRONT',
    BLOCKBACK = 'BLOCKBACK',
    BLOCKLEFT = 'BLOCKLEFT',
    BLOCKRIGHT = 'BLOCKRIGHT',
    BLOCKTURNLEFT = 'BLOCKTURNLEFT',
    BLOCKTURNRIGHT = 'BLOCKTURNRIGHT',
    DIRECTION = 'DIRECTION',
    ATTACK = 'ATTACK',
    DEATH = 'DEATH', // 在地面上死亡
    AIR_DEATH = 'AIR_DEATH', // 在空中死亡
    SPIKES_CURRENT_COUNT = 'SPIKES_CURRENT_COUNT',
    SPIKES_TOTAL_COUNT = 'SPIKES_TOTAL_COUNT',
}

// 角色方向
export enum DIRECTION_ENUM {
    TOP = 'TOP',
    BOTTOM = 'BOTTOM',
    LEFT = 'LEFT',
    RIGHT = 'RIGHT',
}

// 角色状态
export enum ENTITY_STATE_ENUM {
    IDLE = 'IDLE',
    TURN_LEFT = 'TURN_LEFT',
    TURN_RIGHT = 'TURN_RIGHT',
    BLOCKFRONT = 'BLOCKFRONT',
    BLOCKBACK = 'BLOCKBACK',
    BLOCKLEFT = 'BLOCKLEFT',
    BLOCKRIGHT = 'BLOCKRIGHT',
    BLOCKTURNLEFT = 'BLOCKTURNLEFT',
    BLOCKTURNRIGHT = 'BLOCKTURNRIGHT',
    ATTACK = 'ATTACK',
    DEATH = 'DEATH', // 在地面上死亡
    AIR_DEATH = 'AIR_DEATH', // 在空中死亡
}

// 方向和数字映射
export enum DIRECTION_ORDER_ENUM {
    TOP = 0,
    BOTTOM = 1,
    LEFT = 2,
    RIGHT = 3,
}


// 活动单位类型
export enum ENTITY_TYPE_ENUM {
    PLAYER = 'PLAYER',
    SKELETON_WOODEN = 'SKELETON_WOODEN',
    SKELETON_IRON = 'SKELETON_IRON',
    DOOR = 'DOOR',
    BURST = 'BURST',
    SPIKES_ONE = 'SPIKES_ONE',
    SPIKES_TWO = 'SPIKES_TWO',
    SPIKES_THREE = 'SPIKES_THREE',
    SPIKES_FOUR = 'SPIKES_FOUR',
    SMOKE = 'SMOKE',
}

// 尖刺类型和总点数映射
export enum SPIKES_TYPE_MAP_TOTAL_COUNT_ENUM {
    SPIKES_ONE = 2,
    SPIKES_TWO = 3,
    SPIKES_THREE = 4,
    SPIKES_FOUR = 5,
}

// 尖刺当前点数枚举
export enum SPIKES_COUNT_ENUM {
    ZERO = 'ZERO',
    ONE = 'ONE',
    TWO = 'TWO',
    THREE = 'THREE',
    FOUR = 'FOUR',
    FIVE = 'FIVE',
}

//  尖刺点数类型和数字映射
export enum SPIKES_COUNT_MAP_NUMBER_ENUM {
    ZERO = 0,
    ONE = 1,
    TWO = 2,
    THREE = 3,
    FOUR = 4,
    FIVE = 5,
}

export enum SHAKE_TYPE_ENUM {
    TOP = 'TOP',
    BOTTOM = 'BOTTOM',
    LEFT = 'LEFT',
    RIGHT = 'RIGHT',
}

export enum SCENE_ENUM {
    Loading = 'Loading',
    Start = 'Start',
    Battle = 'Battle',
}